package com.peas.platform.module.icims.budget.statistics.controller.vo;

import java.math.*;
import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Size;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("部门绩效目标")
public class DepartmentPerformanceVo extends BaseVo {

    @ApiModelProperty(value = "年度")
    @Size(max = 4, message = "年度不能超过4个字符")
    private String year;

    //1:一上编制、2:二上编制
    @ApiModelProperty(value = "部门绩效类型")
    @Size(max = 20, message = "部门绩效类型不能超过20个字符")
    private String departmentPerformanceType;

    @ApiModelProperty(value = "部门名称")
    @Size(max = 200, message = "部门名称不能超过200个字符")
    private String departmentName;

    @ApiModelProperty(value = "部门职能概述")
    private String departmentSummarize;

    //总额（万元）
    @ApiModelProperty(value = "本年度部门预算收入（总额）")
    private BigDecimal totalRevenue;

    //1.财政拨款收入
    @ApiModelProperty(value = "财政拨款收入")
    private BigDecimal allocateRevenue;

    //其中：一般公共预算
    @ApiModelProperty(value = "一般公共预算")
    private BigDecimal allocateRevenue1;

    //政府性基金预算
    @ApiModelProperty(value = "政府性基金预算")
    private BigDecimal allocateRevenue2;

    //国有资本经营预算
    @ApiModelProperty(value = "国有资本经营预算")
    private BigDecimal allocateRevenue3;

    //2.财政专户管理资金
    @ApiModelProperty(value = "财政专户管理资金")
    private BigDecimal specialRevenue;

    //3.事业收入
    @ApiModelProperty(value = "事业收入")
    private BigDecimal businessRevenue;

    //4.经营收入
    @ApiModelProperty(value = "经营收入")
    private BigDecimal engageRevenue;

    //5.其他收入
    @ApiModelProperty(value = "其他收入")
    private BigDecimal otherRevenue;

    //年度目标
    @ApiModelProperty(value = "部门整体支出目标（本年）")
    private String targetCurrent;

    //年度目标
    @ApiModelProperty(value = "部门年度整体预算完成率（本年）")
    private BigDecimal targetRateCurrent;

    //年度目标
    @ApiModelProperty(value = "部门整体支出目标（三年期）")
    private String targetThree;

    //年度目标
    @ApiModelProperty(value = "部门年度整体预算完成率（三年期）")
    private BigDecimal targetRateThree;

    @ApiModelProperty(value = "其他需要说明的情况")
    private String others;

    @ApiModelProperty(value = "本年度数据行")
    private Integer currentRows;

    @ApiModelProperty(value = "三年期数据行")
    private Integer thirdRows;

}
